﻿namespace RestUpMVC.Representation
{
    /// <summary>
    /// A representation of a resource.  Extend this class to create your own custom representations.
    /// </summary>
    public interface IRepresentation
    {
        /// <summary>
        ///  Get the ContentType that this representation represents.  This value will be used to set the Content-Type header when the representation is
        ///  returned to the client.
        ///  </summary>
        string ContentType { get; }

        void SetResource(object resource);

        /// <summary>
        ///  In classes that implement this method, it will convert the resource a representation suitable for the vale returned from the ContentType property.
        ///  </summary><returns></returns>
        string ConvertResource();
    }
}